chore(ci): unblock the App Store release job and refresh the pinned toolchain - #2670
Conversation
Picks up the 3.44.6 through 3.44.9 hotfixes: an iOS hang when a debugged app crashes, a lipo verification failure under the Xcode 27 toolchain, an external-texture resource leak on some GPUs, and two Android/Linux build crashes. Dart stays on 3.12.2, so no SDK constraint moves.
Refreshes both pinned release checksums (macos-arm64 for the App Store workflow, linux-x64 for the tools image) and switches the iOS workflow to the leoafarias/fvm URL, which the conceptadev one only reached through a GitHub rename redirect. Both assets verified to be byte-identical.
The macos-15 image moved to CocoaPods 1.17, whose podspec checksums differ from the 1.16.2 that generated Podfile.lock, so pod install --deployment aborted the release job. Read the version back from the lockfile instead of hardcoding one, so the lockfile stays authoritative when either side moves.
|
Claude finished @ethicnology's task in 4m 19s —— View job Review: correctness, security, regressions
Note: I can't create formal inline review comments from this integration, so findings are listed here with file/line references. 🔴 1. Commit
|
The first App Store Connect release run (#31634557049) failed at
Install locked CocoaPods dependencies. Themacos-15image now ships CocoaPods 1.17.0, whose podspec checksums differ from the 1.16.2 that generatedios/Podfile.lock, sopod install --deploymentrefused to run — correctly, that is what deployment mode is for. All six signing secrets validated, so the failure is toolchain drift, not configuration.While fixing that, the pinned Flutter and FVM versions were also stale.
What this changes
Three independent commits, readable in order:
chore: bump flutter to 3.44.9—.fvmrc, the threepubspec.yamlflutter pins,pubspec.lock, and theContainerfile.toolsdev-container default. Picks up the 3.44.6 → 3.44.9 hotfixes (iOS hang when a debugged app crashes,lipoverification failure under the Xcode 27 toolchain, external-texture resource leak on some GPUs, two Android/Linux build crashes). Dart stays on 3.12.2, so nosdk:constraint moves anywhere.chore(ci): bump fvm to 4.1.2— the App Store workflow, theflutter-setupcomposite action, and the tools image. Both pinned release checksums were recomputed and verified (0b2a1469…macos-arm64,12b06566…linux-x64); as a control, recomputing the 4.1.1 linux-x64 checksum reproduced the value already pinned in the tree. The iOS workflow URL also moves fromconceptadev/fvmtoleoafarias/fvm— the former only resolved through a GitHub rename redirect, and both URLs were confirmed to serve byte-identical archives.ci(ios): pin cocoapods to the version Podfile.lock was built with— readsCOCOAPODS:back from the lockfile and installs exactly that version through a RubyGems version selector (pod _1.16.2_ install), leaving the image's own CocoaPods in place. The lockfile becomes the single source of truth in both directions: it survives the next image rotation, and it follows automatically when a developer regenerates the pods on a newer CocoaPods.What this does not change
make build-runnerproduces an empty diff on 3.44.9.Podfile.lockitself is regenerated on macOS in a follow-up, sincepod installneeds the Apple toolchain. Commit 3 is what makes the job green either way.